An Object-Oriented Approach to Nested Data Parallelism

نویسندگان

  • Thomas J. Sheffler
  • Siddhartha Chatterjee
چکیده

This paper describes an implementation technique for integrating nested data parallelism into an object-oriented language. Data-parallel programming employs sets of data called “collections” and expresses parallelism as operations performed over the elements of a collection. When the elements of a collection are also collections, then there is the possibility for “nested data parallelism.” Few current programming languages support nested data parallelism however. In an object-oriented framework, a collection is a single object. Its type defines the parallel operations that may be applied to it. Our goal is to design and build an object-oriented data-parallel programming environment supporting nested data parallelism. Our initial approach is built upon three fundamental additions to C++. We add new parallel base types by implementing them as classes, and add a new parallel collection type called a “vector” that is implemented as a template. Only one new language feature is introduced: the foreach construct, which is the basis for exploiting elementwise parallelism over collections. The strength of the method lies in the compilation strategy, which translates nested data-parallel C++ into ordinary C++. Extracting the potential parallelism in nested foreach constructs is called “flattening” nested parallelism. We show how to flatten foreach constructs using a simple program transformation. Our prototype system produces vector code which has been successfully run on workstations, a CM-2 and a CM-5.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Uniform Calculus for Collection Types

We present a new algebra for collection types based on monoids and monoid ho-momorphisms. The types supported in this algebra can be any nested composition of collection types, including lists, sets, multisets (bags), vectors, and matrices. We also deene a new calculus for this algebra, called monoid comprehensions, that captures operations involving multiple collection types in declarative for...

متن کامل

ساختار دهی آنی داده‌‌های مکانی ورودی GIS با تأکید بر عارضه راه

An important issue in implementation of a GIS system is preparation of data to be entered in GIS. To produce spatial data for GIS using photogrammetric techniques, conventional method is to apply photogrammetric and GIS systems individually (off-line procedure). This approach is costly, time consuming and somehow unreliable due to the fact that 3D photogrammetric model is not available at the ...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Object Template Abstractions for Light-Weight Data-Parallelism

Data-parallelism is a widely used model for parallel programming. Control structures like parallel DO loops, and data structures like collections have been used to express data-parallelism. In typical implementations, these constructs are ' at' in the sense that only one data-parallel operation is active at any time. To model applications that can exploit overlap of synchronization and computat...

متن کامل

Reference Capabilities for Concurrency Control

The proliferation of shared mutable state in object-oriented programming complicates software development as two seemingly unrelated operations may interact via an alias and produce unexpected results. In concurrent programming this manifests itself as data-races. Concurrent objectoriented programming further suffers from the fact that code that warrants synchronisation cannot easily be disting...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995